home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr05
/
v12n13.zip
/
SHIFTK.ZIP
/
SHIFTKEY.PAS
< prev
Wrap
Pascal/Delphi Source File
|
1992-12-09
|
1KB
|
44 lines
PROGRAM ShiftKey;
USES Crt;
VAR
ShiftState : Byte ABSOLUTE $40:$17;
OldState : Byte;
C : Char;
PROCEDURE ShiftReport;
VAR ro, co, N : Byte;
BEGIN
ro := WhereY; co := WhereX;
Window(1,1,80,25);
OldState := ShiftState;
FOR N := 0 TO 7 DO
BEGIN
GotoXY(5+N*7, 25);
IF ShiftState AND (Word(1) SHL N) <> 0 THEN Write('X')
ELSE Write(' ');
END;
Window(1,1,80,24);
GotoXY(co,ro);
END;
BEGIN
C := #0;
OldState := ShiftState;
ClrScr;
GotoXY(1,25);
Write('Rsh[ ] Lsh[ ] Ctl[ ] Alt[ ] Scr[ ] Num[ ] Cap[ ] Ins[ ]');
Window(1,1,80,24); GotoXY(1,1);
WriteLn('Press shift and regular keys. <Esc> to quit.');
REPEAT
REPEAT UNTIL KeyPressed OR (OldState <> ShiftState);
IF KeyPressed THEN
BEGIN
C := ReadKey;
IF C = #0 THEN Write('(', Ord(ReadKey), ') ')
ELSE Write(C);
IF C=^M THEN Write(^J);
END;
IF OldState <> ShiftState THEN ShiftReport;
UNTIL C = #27;
END.